#include <iostream>

#include "util.hpp"
#include "config.hpp"

using namespace std;

// void TestUtil(string name)
// {

//     //cloud::FileUtil sm(name);
//     // cout << sm.Filename() << endl;
//     // cout << sm.FileSize() << endl;
//     // cout << sm.LastAtime() << endl;
//     // cout << sm.LastMtime() << endl;

//     // string str, con;
//     // sm.GetContent(&str);
//     // clould::FileUtil fu("./hello.txt");
//     // fu.SetContent(str);
    
//     // sm.Compress("hello.txt.lz");
//     // sm.UnCompress("hello_1.txt");

//     //sm.CreateDirectory();
//     // std::vector<std::string> array; 
//     // sm.ScanDirectory(&array);
//     // for(auto& path : array)
//     // {
//     //     cout << path << endl;
//     // }
    
// }

void JsonTest()
{
    const char *name = "chian-ocean";
    int age = 19;
    float score[] = {85, 88.5, 99};
    Json::Value root;
    root["姓名"] = name;
    root["age"] = age;
    root["score"].append(score[0]);
    root["score"].append(score[1]);
    root["score"].append(score[2]);
    std::string json_str;
    cloud::JsonUtil::Serialize(root, &json_str);
    std::cout << json_str << std::endl;

    Json::Value val;
    cloud::JsonUtil::UnSerialize(json_str, &val);
    std::cout << val["name"].asString() << std::endl;
    std::cout << val["age"].asString() << std::endl; 
}


// void ConfigTest()
// {
//     cloud::Config *con = cloud::Config::GetInstance();
//     cout << "HostTime:  " << con->GetHostTime() << endl;
//     cout << "ServerPort:  " << con->GetServerPort() << endl;
//     cout << "ServerIPL:  " << con->GetServerIP() << endl;
//     cout << "PackFileSuffdix:  " << con->GetPackFileSuffdix() << endl;
//     cout << "GetPackFileSuffdix:  " << con->GetPackFileSuffdix() << endl;
//     cout << "BackDir:  " << con->GetBackDir() << endl;
//     cout << "PackDir:  " << con->GetPackDir() << endl;
//     cout << "BackFile:  " << con->GetBackFile() << endl;
// }

int main(int argc, char *argv[])
{

    //TestUtil(argv[1]);
    JsonTest();

    //ConfigTest();
    return 0;
}
